/*
 * XML Type:  CoreModel
 * Namespace: http:///org/isistan/flabot/coremodel.ecore
 * Java type: org.isistan.flabot.coremodelEcore.CoreModel
 *
 * Automatically generated - do not modify.
 */
package org.isistan.flabot.coremodelEcore.impl;
/**
 * An XML CoreModel(@http:///org/isistan/flabot/coremodel.ecore).
 *
 * This is a complex type.
 */
public class CoreModelImpl extends org.apache.xmlbeans.impl.values.XmlComplexContentImpl implements org.isistan.flabot.coremodelEcore.CoreModel
{
    private static final long serialVersionUID = 1L;
    
    public CoreModelImpl(org.apache.xmlbeans.SchemaType sType)
    {
        super(sType);
    }
    
    private static final javax.xml.namespace.QName COMPONENTS$0 = 
        new javax.xml.namespace.QName("", "components");
    private static final javax.xml.namespace.QName RESPONSIBILITIES$2 = 
        new javax.xml.namespace.QName("", "responsibilities");
    private static final javax.xml.namespace.QName USECASEMAPS$4 = 
        new javax.xml.namespace.QName("", "useCaseMaps");
    private static final javax.xml.namespace.QName INTERFACELINKS$6 = 
        new javax.xml.namespace.QName("", "interfaceLinks");
    private static final javax.xml.namespace.QName RELATIONSHIPS$8 = 
        new javax.xml.namespace.QName("", "relationships");
    private static final javax.xml.namespace.QName STEREOTYPES$10 = 
        new javax.xml.namespace.QName("", "stereotypes");
    private static final javax.xml.namespace.QName FAMILIES$12 = 
        new javax.xml.namespace.QName("", "families");
    private static final javax.xml.namespace.QName ARCHITECTURALUSECASEMAPS$14 = 
        new javax.xml.namespace.QName("", "architecturalUseCaseMaps");
    private static final javax.xml.namespace.QName FUNCTIONALUSECASEMAPS$16 = 
        new javax.xml.namespace.QName("", "functionalUseCaseMaps");
    private static final javax.xml.namespace.QName EVENTS$18 = 
        new javax.xml.namespace.QName("", "events");
    private static final javax.xml.namespace.QName STUBS$20 = 
        new javax.xml.namespace.QName("", "stubs");
    private static final javax.xml.namespace.QName EXTENSION$22 = 
        new javax.xml.namespace.QName("http://www.omg.org/XMI", "Extension");
    private static final javax.xml.namespace.QName ID$24 = 
        new javax.xml.namespace.QName("http://www.omg.org/XMI", "id");
    private static final javax.xml.namespace.QName LABEL$26 = 
        new javax.xml.namespace.QName("http://www.omg.org/XMI", "label");
    private static final javax.xml.namespace.QName UUID$28 = 
        new javax.xml.namespace.QName("http://www.omg.org/XMI", "uuid");
    private static final javax.xml.namespace.QName HREF$30 = 
        new javax.xml.namespace.QName("", "href");
    private static final javax.xml.namespace.QName IDREF$32 = 
        new javax.xml.namespace.QName("http://www.omg.org/XMI", "idref");
    private static final javax.xml.namespace.QName VERSION$34 = 
        new javax.xml.namespace.QName("http://www.omg.org/XMI", "version");
    private static final javax.xml.namespace.QName TYPE$36 = 
        new javax.xml.namespace.QName("http://www.omg.org/XMI", "type");
    private static final javax.xml.namespace.QName ARCHITECTURALUSECASEMAPS2$38 = 
        new javax.xml.namespace.QName("", "architecturalUseCaseMaps");
    private static final javax.xml.namespace.QName FUNCTIONALUSECASEMAPS2$40 = 
        new javax.xml.namespace.QName("", "functionalUseCaseMaps");
    private static final javax.xml.namespace.QName STUBS2$42 = 
        new javax.xml.namespace.QName("", "stubs");
    private static final javax.xml.namespace.QName COMPONENTS2$44 = 
        new javax.xml.namespace.QName("", "components");
    private static final javax.xml.namespace.QName RESPONSIBILITIES2$46 = 
        new javax.xml.namespace.QName("", "responsibilities");
    private static final javax.xml.namespace.QName USECASEMAPS2$48 = 
        new javax.xml.namespace.QName("", "useCaseMaps");
    private static final javax.xml.namespace.QName INTERFACELINKS2$50 = 
        new javax.xml.namespace.QName("", "interfaceLinks");
    private static final javax.xml.namespace.QName RELATIONSHIPS2$52 = 
        new javax.xml.namespace.QName("", "relationships");
    private static final javax.xml.namespace.QName STEREOTYPES2$54 = 
        new javax.xml.namespace.QName("", "stereotypes");
    private static final javax.xml.namespace.QName FAMILIES2$56 = 
        new javax.xml.namespace.QName("", "families");
    private static final javax.xml.namespace.QName EVENTS2$58 = 
        new javax.xml.namespace.QName("", "events");
    private static final javax.xml.namespace.QName FILE$60 = 
        new javax.xml.namespace.QName("", "file");
    
    
    /**
     * Gets array of all "components" elements
     */
    public org.isistan.flabot.coremodelEcore.ComponentModel[] getComponentsArray()
    {
        synchronized (monitor())
        {
            check_orphaned();
            java.util.List targetList = new java.util.ArrayList();
            get_store().find_all_element_users(COMPONENTS2$44, targetList);
            org.isistan.flabot.coremodelEcore.ComponentModel[] result = new org.isistan.flabot.coremodelEcore.ComponentModel[targetList.size()];
            targetList.toArray(result);
            return result;
        }
    }
    
    /**
     * Gets ith "components" element
     */
    public org.isistan.flabot.coremodelEcore.ComponentModel getComponentsArray(int i)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.isistan.flabot.coremodelEcore.ComponentModel target = null;
            target = (org.isistan.flabot.coremodelEcore.ComponentModel)get_store().find_element_user(COMPONENTS2$44, i);
            if (target == null)
            {
                throw new IndexOutOfBoundsException();
            }
            return target;
        }
    }
    
    /**
     * Returns number of "components" element
     */
    public int sizeOfComponentsArray()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().count_elements(COMPONENTS2$44);
        }
    }
    
    /**
     * Sets array of all "components" element  WARNING: This method is not atomicaly synchronized.
     */
    public void setComponentsArray(org.isistan.flabot.coremodelEcore.ComponentModel[] componentsArray)
    {
        check_orphaned();
        arraySetterHelper(componentsArray, COMPONENTS2$44);
    }
    
    /**
     * Sets ith "components" element
     */
    public void setComponentsArray(int i, org.isistan.flabot.coremodelEcore.ComponentModel components)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.isistan.flabot.coremodelEcore.ComponentModel target = null;
            target = (org.isistan.flabot.coremodelEcore.ComponentModel)get_store().find_element_user(COMPONENTS2$44, i);
            if (target == null)
            {
                throw new IndexOutOfBoundsException();
            }
            target.set(components);
        }
    }
    
    /**
     * Inserts and returns a new empty value (as xml) as the ith "components" element
     */
    public org.isistan.flabot.coremodelEcore.ComponentModel insertNewComponents(int i)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.isistan.flabot.coremodelEcore.ComponentModel target = null;
            target = (org.isistan.flabot.coremodelEcore.ComponentModel)get_store().insert_element_user(COMPONENTS2$44, i);
            return target;
        }
    }
    
    /**
     * Appends and returns a new empty value (as xml) as the last "components" element
     */
    public org.isistan.flabot.coremodelEcore.ComponentModel addNewComponents()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.isistan.flabot.coremodelEcore.ComponentModel target = null;
            target = (org.isistan.flabot.coremodelEcore.ComponentModel)get_store().add_element_user(COMPONENTS2$44);
            return target;
        }
    }
    
    /**
     * Removes the ith "components" element
     */
    public void removeComponents(int i)
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_element(COMPONENTS2$44, i);
        }
    }
    
    /**
     * Gets array of all "responsibilities" elements
     */
    public org.isistan.flabot.coremodelEcore.Responsibility[] getResponsibilitiesArray()
    {
        synchronized (monitor())
        {
            check_orphaned();
            java.util.List targetList = new java.util.ArrayList();
            get_store().find_all_element_users(RESPONSIBILITIES2$46, targetList);
            org.isistan.flabot.coremodelEcore.Responsibility[] result = new org.isistan.flabot.coremodelEcore.Responsibility[targetList.size()];
            targetList.toArray(result);
            return result;
        }
    }
    
    /**
     * Gets ith "responsibilities" element
     */
    public org.isistan.flabot.coremodelEcore.Responsibility getResponsibilitiesArray(int i)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.isistan.flabot.coremodelEcore.Responsibility target = null;
            target = (org.isistan.flabot.coremodelEcore.Responsibility)get_store().find_element_user(RESPONSIBILITIES2$46, i);
            if (target == null)
            {
                throw new IndexOutOfBoundsException();
            }
            return target;
        }
    }
    
    /**
     * Returns number of "responsibilities" element
     */
    public int sizeOfResponsibilitiesArray()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().count_elements(RESPONSIBILITIES2$46);
        }
    }
    
    /**
     * Sets array of all "responsibilities" element  WARNING: This method is not atomicaly synchronized.
     */
    public void setResponsibilitiesArray(org.isistan.flabot.coremodelEcore.Responsibility[] responsibilitiesArray)
    {
        check_orphaned();
        arraySetterHelper(responsibilitiesArray, RESPONSIBILITIES2$46);
    }
    
    /**
     * Sets ith "responsibilities" element
     */
    public void setResponsibilitiesArray(int i, org.isistan.flabot.coremodelEcore.Responsibility responsibilities)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.isistan.flabot.coremodelEcore.Responsibility target = null;
            target = (org.isistan.flabot.coremodelEcore.Responsibility)get_store().find_element_user(RESPONSIBILITIES2$46, i);
            if (target == null)
            {
                throw new IndexOutOfBoundsException();
            }
            target.set(responsibilities);
        }
    }
    
    /**
     * Inserts and returns a new empty value (as xml) as the ith "responsibilities" element
     */
    public org.isistan.flabot.coremodelEcore.Responsibility insertNewResponsibilities(int i)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.isistan.flabot.coremodelEcore.Responsibility target = null;
            target = (org.isistan.flabot.coremodelEcore.Responsibility)get_store().insert_element_user(RESPONSIBILITIES2$46, i);
            return target;
        }
    }
    
    /**
     * Appends and returns a new empty value (as xml) as the last "responsibilities" element
     */
    public org.isistan.flabot.coremodelEcore.Responsibility addNewResponsibilities()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.isistan.flabot.coremodelEcore.Responsibility target = null;
            target = (org.isistan.flabot.coremodelEcore.Responsibility)get_store().add_element_user(RESPONSIBILITIES2$46);
            return target;
        }
    }
    
    /**
     * Removes the ith "responsibilities" element
     */
    public void removeResponsibilities(int i)
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_element(RESPONSIBILITIES2$46, i);
        }
    }
    
    /**
     * Gets array of all "useCaseMaps" elements
     */
    public org.isistan.flabot.coremodelEcore.UseCaseMap[] getUseCaseMapsArray()
    {
        synchronized (monitor())
        {
            check_orphaned();
            java.util.List targetList = new java.util.ArrayList();
            get_store().find_all_element_users(USECASEMAPS2$48, targetList);
            org.isistan.flabot.coremodelEcore.UseCaseMap[] result = new org.isistan.flabot.coremodelEcore.UseCaseMap[targetList.size()];
            targetList.toArray(result);
            return result;
        }
    }
    
    /**
     * Gets ith "useCaseMaps" element
     */
    public org.isistan.flabot.coremodelEcore.UseCaseMap getUseCaseMapsArray(int i)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.isistan.flabot.coremodelEcore.UseCaseMap target = null;
            target = (org.isistan.flabot.coremodelEcore.UseCaseMap)get_store().find_element_user(USECASEMAPS2$48, i);
            if (target == null)
            {
                throw new IndexOutOfBoundsException();
            }
            return target;
        }
    }
    
    /**
     * Returns number of "useCaseMaps" element
     */
    public int sizeOfUseCaseMapsArray()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().count_elements(USECASEMAPS2$48);
        }
    }
    
    /**
     * Sets array of all "useCaseMaps" element  WARNING: This method is not atomicaly synchronized.
     */
    public void setUseCaseMapsArray(org.isistan.flabot.coremodelEcore.UseCaseMap[] useCaseMapsArray)
    {
        check_orphaned();
        arraySetterHelper(useCaseMapsArray, USECASEMAPS2$48);
    }
    
    /**
     * Sets ith "useCaseMaps" element
     */
    public void setUseCaseMapsArray(int i, org.isistan.flabot.coremodelEcore.UseCaseMap useCaseMaps)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.isistan.flabot.coremodelEcore.UseCaseMap target = null;
            target = (org.isistan.flabot.coremodelEcore.UseCaseMap)get_store().find_element_user(USECASEMAPS2$48, i);
            if (target == null)
            {
                throw new IndexOutOfBoundsException();
            }
            target.set(useCaseMaps);
        }
    }
    
    /**
     * Inserts and returns a new empty value (as xml) as the ith "useCaseMaps" element
     */
    public org.isistan.flabot.coremodelEcore.UseCaseMap insertNewUseCaseMaps(int i)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.isistan.flabot.coremodelEcore.UseCaseMap target = null;
            target = (org.isistan.flabot.coremodelEcore.UseCaseMap)get_store().insert_element_user(USECASEMAPS2$48, i);
            return target;
        }
    }
    
    /**
     * Appends and returns a new empty value (as xml) as the last "useCaseMaps" element
     */
    public org.isistan.flabot.coremodelEcore.UseCaseMap addNewUseCaseMaps()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.isistan.flabot.coremodelEcore.UseCaseMap target = null;
            target = (org.isistan.flabot.coremodelEcore.UseCaseMap)get_store().add_element_user(USECASEMAPS2$48);
            return target;
        }
    }
    
    /**
     * Removes the ith "useCaseMaps" element
     */
    public void removeUseCaseMaps(int i)
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_element(USECASEMAPS2$48, i);
        }
    }
    
    /**
     * Gets array of all "interfaceLinks" elements
     */
    public org.isistan.flabot.coremodelEcore.InterfaceLink[] getInterfaceLinksArray()
    {
        synchronized (monitor())
        {
            check_orphaned();
            java.util.List targetList = new java.util.ArrayList();
            get_store().find_all_element_users(INTERFACELINKS2$50, targetList);
            org.isistan.flabot.coremodelEcore.InterfaceLink[] result = new org.isistan.flabot.coremodelEcore.InterfaceLink[targetList.size()];
            targetList.toArray(result);
            return result;
        }
    }
    
    /**
     * Gets ith "interfaceLinks" element
     */
    public org.isistan.flabot.coremodelEcore.InterfaceLink getInterfaceLinksArray(int i)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.isistan.flabot.coremodelEcore.InterfaceLink target = null;
            target = (org.isistan.flabot.coremodelEcore.InterfaceLink)get_store().find_element_user(INTERFACELINKS2$50, i);
            if (target == null)
            {
                throw new IndexOutOfBoundsException();
            }
            return target;
        }
    }
    
    /**
     * Returns number of "interfaceLinks" element
     */
    public int sizeOfInterfaceLinksArray()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().count_elements(INTERFACELINKS2$50);
        }
    }
    
    /**
     * Sets array of all "interfaceLinks" element  WARNING: This method is not atomicaly synchronized.
     */
    public void setInterfaceLinksArray(org.isistan.flabot.coremodelEcore.InterfaceLink[] interfaceLinksArray)
    {
        check_orphaned();
        arraySetterHelper(interfaceLinksArray, INTERFACELINKS2$50);
    }
    
    /**
     * Sets ith "interfaceLinks" element
     */
    public void setInterfaceLinksArray(int i, org.isistan.flabot.coremodelEcore.InterfaceLink interfaceLinks)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.isistan.flabot.coremodelEcore.InterfaceLink target = null;
            target = (org.isistan.flabot.coremodelEcore.InterfaceLink)get_store().find_element_user(INTERFACELINKS2$50, i);
            if (target == null)
            {
                throw new IndexOutOfBoundsException();
            }
            target.set(interfaceLinks);
        }
    }
    
    /**
     * Inserts and returns a new empty value (as xml) as the ith "interfaceLinks" element
     */
    public org.isistan.flabot.coremodelEcore.InterfaceLink insertNewInterfaceLinks(int i)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.isistan.flabot.coremodelEcore.InterfaceLink target = null;
            target = (org.isistan.flabot.coremodelEcore.InterfaceLink)get_store().insert_element_user(INTERFACELINKS2$50, i);
            return target;
        }
    }
    
    /**
     * Appends and returns a new empty value (as xml) as the last "interfaceLinks" element
     */
    public org.isistan.flabot.coremodelEcore.InterfaceLink addNewInterfaceLinks()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.isistan.flabot.coremodelEcore.InterfaceLink target = null;
            target = (org.isistan.flabot.coremodelEcore.InterfaceLink)get_store().add_element_user(INTERFACELINKS2$50);
            return target;
        }
    }
    
    /**
     * Removes the ith "interfaceLinks" element
     */
    public void removeInterfaceLinks(int i)
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_element(INTERFACELINKS2$50, i);
        }
    }
    
    /**
     * Gets array of all "relationships" elements
     */
    public org.isistan.flabot.coremodelEcore.Relationship[] getRelationshipsArray()
    {
        synchronized (monitor())
        {
            check_orphaned();
            java.util.List targetList = new java.util.ArrayList();
            get_store().find_all_element_users(RELATIONSHIPS2$52, targetList);
            org.isistan.flabot.coremodelEcore.Relationship[] result = new org.isistan.flabot.coremodelEcore.Relationship[targetList.size()];
            targetList.toArray(result);
            return result;
        }
    }
    
    /**
     * Gets ith "relationships" element
     */
    public org.isistan.flabot.coremodelEcore.Relationship getRelationshipsArray(int i)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.isistan.flabot.coremodelEcore.Relationship target = null;
            target = (org.isistan.flabot.coremodelEcore.Relationship)get_store().find_element_user(RELATIONSHIPS2$52, i);
            if (target == null)
            {
                throw new IndexOutOfBoundsException();
            }
            return target;
        }
    }
    
    /**
     * Returns number of "relationships" element
     */
    public int sizeOfRelationshipsArray()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().count_elements(RELATIONSHIPS2$52);
        }
    }
    
    /**
     * Sets array of all "relationships" element  WARNING: This method is not atomicaly synchronized.
     */
    public void setRelationshipsArray(org.isistan.flabot.coremodelEcore.Relationship[] relationshipsArray)
    {
        check_orphaned();
        arraySetterHelper(relationshipsArray, RELATIONSHIPS2$52);
    }
    
    /**
     * Sets ith "relationships" element
     */
    public void setRelationshipsArray(int i, org.isistan.flabot.coremodelEcore.Relationship relationships)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.isistan.flabot.coremodelEcore.Relationship target = null;
            target = (org.isistan.flabot.coremodelEcore.Relationship)get_store().find_element_user(RELATIONSHIPS2$52, i);
            if (target == null)
            {
                throw new IndexOutOfBoundsException();
            }
            target.set(relationships);
        }
    }
    
    /**
     * Inserts and returns a new empty value (as xml) as the ith "relationships" element
     */
    public org.isistan.flabot.coremodelEcore.Relationship insertNewRelationships(int i)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.isistan.flabot.coremodelEcore.Relationship target = null;
            target = (org.isistan.flabot.coremodelEcore.Relationship)get_store().insert_element_user(RELATIONSHIPS2$52, i);
            return target;
        }
    }
    
    /**
     * Appends and returns a new empty value (as xml) as the last "relationships" element
     */
    public org.isistan.flabot.coremodelEcore.Relationship addNewRelationships()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.isistan.flabot.coremodelEcore.Relationship target = null;
            target = (org.isistan.flabot.coremodelEcore.Relationship)get_store().add_element_user(RELATIONSHIPS2$52);
            return target;
        }
    }
    
    /**
     * Removes the ith "relationships" element
     */
    public void removeRelationships(int i)
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_element(RELATIONSHIPS2$52, i);
        }
    }
    
    /**
     * Gets array of all "stereotypes" elements
     */
    public org.isistan.flabot.coremodelEcore.Stereotype[] getStereotypesArray()
    {
        synchronized (monitor())
        {
            check_orphaned();
            java.util.List targetList = new java.util.ArrayList();
            get_store().find_all_element_users(STEREOTYPES2$54, targetList);
            org.isistan.flabot.coremodelEcore.Stereotype[] result = new org.isistan.flabot.coremodelEcore.Stereotype[targetList.size()];
            targetList.toArray(result);
            return result;
        }
    }
    
    /**
     * Gets ith "stereotypes" element
     */
    public org.isistan.flabot.coremodelEcore.Stereotype getStereotypesArray(int i)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.isistan.flabot.coremodelEcore.Stereotype target = null;
            target = (org.isistan.flabot.coremodelEcore.Stereotype)get_store().find_element_user(STEREOTYPES2$54, i);
            if (target == null)
            {
                throw new IndexOutOfBoundsException();
            }
            return target;
        }
    }
    
    /**
     * Returns number of "stereotypes" element
     */
    public int sizeOfStereotypesArray()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().count_elements(STEREOTYPES2$54);
        }
    }
    
    /**
     * Sets array of all "stereotypes" element  WARNING: This method is not atomicaly synchronized.
     */
    public void setStereotypesArray(org.isistan.flabot.coremodelEcore.Stereotype[] stereotypesArray)
    {
        check_orphaned();
        arraySetterHelper(stereotypesArray, STEREOTYPES2$54);
    }
    
    /**
     * Sets ith "stereotypes" element
     */
    public void setStereotypesArray(int i, org.isistan.flabot.coremodelEcore.Stereotype stereotypes)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.isistan.flabot.coremodelEcore.Stereotype target = null;
            target = (org.isistan.flabot.coremodelEcore.Stereotype)get_store().find_element_user(STEREOTYPES2$54, i);
            if (target == null)
            {
                throw new IndexOutOfBoundsException();
            }
            target.set(stereotypes);
        }
    }
    
    /**
     * Inserts and returns a new empty value (as xml) as the ith "stereotypes" element
     */
    public org.isistan.flabot.coremodelEcore.Stereotype insertNewStereotypes(int i)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.isistan.flabot.coremodelEcore.Stereotype target = null;
            target = (org.isistan.flabot.coremodelEcore.Stereotype)get_store().insert_element_user(STEREOTYPES2$54, i);
            return target;
        }
    }
    
    /**
     * Appends and returns a new empty value (as xml) as the last "stereotypes" element
     */
    public org.isistan.flabot.coremodelEcore.Stereotype addNewStereotypes()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.isistan.flabot.coremodelEcore.Stereotype target = null;
            target = (org.isistan.flabot.coremodelEcore.Stereotype)get_store().add_element_user(STEREOTYPES2$54);
            return target;
        }
    }
    
    /**
     * Removes the ith "stereotypes" element
     */
    public void removeStereotypes(int i)
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_element(STEREOTYPES2$54, i);
        }
    }
    
    /**
     * Gets array of all "families" elements
     */
    public org.isistan.flabot.coremodelEcore.Family[] getFamiliesArray()
    {
        synchronized (monitor())
        {
            check_orphaned();
            java.util.List targetList = new java.util.ArrayList();
            get_store().find_all_element_users(FAMILIES2$56, targetList);
            org.isistan.flabot.coremodelEcore.Family[] result = new org.isistan.flabot.coremodelEcore.Family[targetList.size()];
            targetList.toArray(result);
            return result;
        }
    }
    
    /**
     * Gets ith "families" element
     */
    public org.isistan.flabot.coremodelEcore.Family getFamiliesArray(int i)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.isistan.flabot.coremodelEcore.Family target = null;
            target = (org.isistan.flabot.coremodelEcore.Family)get_store().find_element_user(FAMILIES2$56, i);
            if (target == null)
            {
                throw new IndexOutOfBoundsException();
            }
            return target;
        }
    }
    
    /**
     * Returns number of "families" element
     */
    public int sizeOfFamiliesArray()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().count_elements(FAMILIES2$56);
        }
    }
    
    /**
     * Sets array of all "families" element  WARNING: This method is not atomicaly synchronized.
     */
    public void setFamiliesArray(org.isistan.flabot.coremodelEcore.Family[] familiesArray)
    {
        check_orphaned();
        arraySetterHelper(familiesArray, FAMILIES2$56);
    }
    
    /**
     * Sets ith "families" element
     */
    public void setFamiliesArray(int i, org.isistan.flabot.coremodelEcore.Family families)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.isistan.flabot.coremodelEcore.Family target = null;
            target = (org.isistan.flabot.coremodelEcore.Family)get_store().find_element_user(FAMILIES2$56, i);
            if (target == null)
            {
                throw new IndexOutOfBoundsException();
            }
            target.set(families);
        }
    }
    
    /**
     * Inserts and returns a new empty value (as xml) as the ith "families" element
     */
    public org.isistan.flabot.coremodelEcore.Family insertNewFamilies(int i)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.isistan.flabot.coremodelEcore.Family target = null;
            target = (org.isistan.flabot.coremodelEcore.Family)get_store().insert_element_user(FAMILIES2$56, i);
            return target;
        }
    }
    
    /**
     * Appends and returns a new empty value (as xml) as the last "families" element
     */
    public org.isistan.flabot.coremodelEcore.Family addNewFamilies()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.isistan.flabot.coremodelEcore.Family target = null;
            target = (org.isistan.flabot.coremodelEcore.Family)get_store().add_element_user(FAMILIES2$56);
            return target;
        }
    }
    
    /**
     * Removes the ith "families" element
     */
    public void removeFamilies(int i)
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_element(FAMILIES2$56, i);
        }
    }
    
    /**
     * Gets array of all "architecturalUseCaseMaps" elements
     */
    public org.isistan.flabot.coremodelEcore.UseCaseMap[] getArchitecturalUseCaseMapsArray()
    {
        synchronized (monitor())
        {
            check_orphaned();
            java.util.List targetList = new java.util.ArrayList();
            get_store().find_all_element_users(ARCHITECTURALUSECASEMAPS2$38, targetList);
            org.isistan.flabot.coremodelEcore.UseCaseMap[] result = new org.isistan.flabot.coremodelEcore.UseCaseMap[targetList.size()];
            targetList.toArray(result);
            return result;
        }
    }
    
    /**
     * Gets ith "architecturalUseCaseMaps" element
     */
    public org.isistan.flabot.coremodelEcore.UseCaseMap getArchitecturalUseCaseMapsArray(int i)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.isistan.flabot.coremodelEcore.UseCaseMap target = null;
            target = (org.isistan.flabot.coremodelEcore.UseCaseMap)get_store().find_element_user(ARCHITECTURALUSECASEMAPS2$38, i);
            if (target == null)
            {
                throw new IndexOutOfBoundsException();
            }
            return target;
        }
    }
    
    /**
     * Returns number of "architecturalUseCaseMaps" element
     */
    public int sizeOfArchitecturalUseCaseMapsArray()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().count_elements(ARCHITECTURALUSECASEMAPS2$38);
        }
    }
    
    /**
     * Sets array of all "architecturalUseCaseMaps" element  WARNING: This method is not atomicaly synchronized.
     */
    public void setArchitecturalUseCaseMapsArray(org.isistan.flabot.coremodelEcore.UseCaseMap[] architecturalUseCaseMapsArray)
    {
        check_orphaned();
        arraySetterHelper(architecturalUseCaseMapsArray, ARCHITECTURALUSECASEMAPS2$38);
    }
    
    /**
     * Sets ith "architecturalUseCaseMaps" element
     */
    public void setArchitecturalUseCaseMapsArray(int i, org.isistan.flabot.coremodelEcore.UseCaseMap architecturalUseCaseMaps)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.isistan.flabot.coremodelEcore.UseCaseMap target = null;
            target = (org.isistan.flabot.coremodelEcore.UseCaseMap)get_store().find_element_user(ARCHITECTURALUSECASEMAPS2$38, i);
            if (target == null)
            {
                throw new IndexOutOfBoundsException();
            }
            target.set(architecturalUseCaseMaps);
        }
    }
    
    /**
     * Inserts and returns a new empty value (as xml) as the ith "architecturalUseCaseMaps" element
     */
    public org.isistan.flabot.coremodelEcore.UseCaseMap insertNewArchitecturalUseCaseMaps(int i)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.isistan.flabot.coremodelEcore.UseCaseMap target = null;
            target = (org.isistan.flabot.coremodelEcore.UseCaseMap)get_store().insert_element_user(ARCHITECTURALUSECASEMAPS2$38, i);
            return target;
        }
    }
    
    /**
     * Appends and returns a new empty value (as xml) as the last "architecturalUseCaseMaps" element
     */
    public org.isistan.flabot.coremodelEcore.UseCaseMap addNewArchitecturalUseCaseMaps()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.isistan.flabot.coremodelEcore.UseCaseMap target = null;
            target = (org.isistan.flabot.coremodelEcore.UseCaseMap)get_store().add_element_user(ARCHITECTURALUSECASEMAPS2$38);
            return target;
        }
    }
    
    /**
     * Removes the ith "architecturalUseCaseMaps" element
     */
    public void removeArchitecturalUseCaseMaps(int i)
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_element(ARCHITECTURALUSECASEMAPS2$38, i);
        }
    }
    
    /**
     * Gets array of all "functionalUseCaseMaps" elements
     */
    public org.isistan.flabot.coremodelEcore.UseCaseMap[] getFunctionalUseCaseMapsArray()
    {
        synchronized (monitor())
        {
            check_orphaned();
            java.util.List targetList = new java.util.ArrayList();
            get_store().find_all_element_users(FUNCTIONALUSECASEMAPS2$40, targetList);
            org.isistan.flabot.coremodelEcore.UseCaseMap[] result = new org.isistan.flabot.coremodelEcore.UseCaseMap[targetList.size()];
            targetList.toArray(result);
            return result;
        }
    }
    
    /**
     * Gets ith "functionalUseCaseMaps" element
     */
    public org.isistan.flabot.coremodelEcore.UseCaseMap getFunctionalUseCaseMapsArray(int i)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.isistan.flabot.coremodelEcore.UseCaseMap target = null;
            target = (org.isistan.flabot.coremodelEcore.UseCaseMap)get_store().find_element_user(FUNCTIONALUSECASEMAPS2$40, i);
            if (target == null)
            {
                throw new IndexOutOfBoundsException();
            }
            return target;
        }
    }
    
    /**
     * Returns number of "functionalUseCaseMaps" element
     */
    public int sizeOfFunctionalUseCaseMapsArray()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().count_elements(FUNCTIONALUSECASEMAPS2$40);
        }
    }
    
    /**
     * Sets array of all "functionalUseCaseMaps" element  WARNING: This method is not atomicaly synchronized.
     */
    public void setFunctionalUseCaseMapsArray(org.isistan.flabot.coremodelEcore.UseCaseMap[] functionalUseCaseMapsArray)
    {
        check_orphaned();
        arraySetterHelper(functionalUseCaseMapsArray, FUNCTIONALUSECASEMAPS2$40);
    }
    
    /**
     * Sets ith "functionalUseCaseMaps" element
     */
    public void setFunctionalUseCaseMapsArray(int i, org.isistan.flabot.coremodelEcore.UseCaseMap functionalUseCaseMaps)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.isistan.flabot.coremodelEcore.UseCaseMap target = null;
            target = (org.isistan.flabot.coremodelEcore.UseCaseMap)get_store().find_element_user(FUNCTIONALUSECASEMAPS2$40, i);
            if (target == null)
            {
                throw new IndexOutOfBoundsException();
            }
            target.set(functionalUseCaseMaps);
        }
    }
    
    /**
     * Inserts and returns a new empty value (as xml) as the ith "functionalUseCaseMaps" element
     */
    public org.isistan.flabot.coremodelEcore.UseCaseMap insertNewFunctionalUseCaseMaps(int i)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.isistan.flabot.coremodelEcore.UseCaseMap target = null;
            target = (org.isistan.flabot.coremodelEcore.UseCaseMap)get_store().insert_element_user(FUNCTIONALUSECASEMAPS2$40, i);
            return target;
        }
    }
    
    /**
     * Appends and returns a new empty value (as xml) as the last "functionalUseCaseMaps" element
     */
    public org.isistan.flabot.coremodelEcore.UseCaseMap addNewFunctionalUseCaseMaps()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.isistan.flabot.coremodelEcore.UseCaseMap target = null;
            target = (org.isistan.flabot.coremodelEcore.UseCaseMap)get_store().add_element_user(FUNCTIONALUSECASEMAPS2$40);
            return target;
        }
    }
    
    /**
     * Removes the ith "functionalUseCaseMaps" element
     */
    public void removeFunctionalUseCaseMaps(int i)
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_element(FUNCTIONALUSECASEMAPS2$40, i);
        }
    }
    
    /**
     * Gets array of all "events" elements
     */
    public org.isistan.flabot.coremodelEcore.ConditionEvent[] getEventsArray()
    {
        synchronized (monitor())
        {
            check_orphaned();
            java.util.List targetList = new java.util.ArrayList();
            get_store().find_all_element_users(EVENTS2$58, targetList);
            org.isistan.flabot.coremodelEcore.ConditionEvent[] result = new org.isistan.flabot.coremodelEcore.ConditionEvent[targetList.size()];
            targetList.toArray(result);
            return result;
        }
    }
    
    /**
     * Gets ith "events" element
     */
    public org.isistan.flabot.coremodelEcore.ConditionEvent getEventsArray(int i)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.isistan.flabot.coremodelEcore.ConditionEvent target = null;
            target = (org.isistan.flabot.coremodelEcore.ConditionEvent)get_store().find_element_user(EVENTS2$58, i);
            if (target == null)
            {
                throw new IndexOutOfBoundsException();
            }
            return target;
        }
    }
    
    /**
     * Returns number of "events" element
     */
    public int sizeOfEventsArray()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().count_elements(EVENTS2$58);
        }
    }
    
    /**
     * Sets array of all "events" element  WARNING: This method is not atomicaly synchronized.
     */
    public void setEventsArray(org.isistan.flabot.coremodelEcore.ConditionEvent[] eventsArray)
    {
        check_orphaned();
        arraySetterHelper(eventsArray, EVENTS2$58);
    }
    
    /**
     * Sets ith "events" element
     */
    public void setEventsArray(int i, org.isistan.flabot.coremodelEcore.ConditionEvent events)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.isistan.flabot.coremodelEcore.ConditionEvent target = null;
            target = (org.isistan.flabot.coremodelEcore.ConditionEvent)get_store().find_element_user(EVENTS2$58, i);
            if (target == null)
            {
                throw new IndexOutOfBoundsException();
            }
            target.set(events);
        }
    }
    
    /**
     * Inserts and returns a new empty value (as xml) as the ith "events" element
     */
    public org.isistan.flabot.coremodelEcore.ConditionEvent insertNewEvents(int i)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.isistan.flabot.coremodelEcore.ConditionEvent target = null;
            target = (org.isistan.flabot.coremodelEcore.ConditionEvent)get_store().insert_element_user(EVENTS2$58, i);
            return target;
        }
    }
    
    /**
     * Appends and returns a new empty value (as xml) as the last "events" element
     */
    public org.isistan.flabot.coremodelEcore.ConditionEvent addNewEvents()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.isistan.flabot.coremodelEcore.ConditionEvent target = null;
            target = (org.isistan.flabot.coremodelEcore.ConditionEvent)get_store().add_element_user(EVENTS2$58);
            return target;
        }
    }
    
    /**
     * Removes the ith "events" element
     */
    public void removeEvents(int i)
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_element(EVENTS2$58, i);
        }
    }
    
    /**
     * Gets array of all "stubs" elements
     */
    public org.isistan.flabot.coremodelEcore.StubNode[] getStubsArray()
    {
        synchronized (monitor())
        {
            check_orphaned();
            java.util.List targetList = new java.util.ArrayList();
            get_store().find_all_element_users(STUBS2$42, targetList);
            org.isistan.flabot.coremodelEcore.StubNode[] result = new org.isistan.flabot.coremodelEcore.StubNode[targetList.size()];
            targetList.toArray(result);
            return result;
        }
    }
    
    /**
     * Gets ith "stubs" element
     */
    public org.isistan.flabot.coremodelEcore.StubNode getStubsArray(int i)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.isistan.flabot.coremodelEcore.StubNode target = null;
            target = (org.isistan.flabot.coremodelEcore.StubNode)get_store().find_element_user(STUBS2$42, i);
            if (target == null)
            {
                throw new IndexOutOfBoundsException();
            }
            return target;
        }
    }
    
    /**
     * Returns number of "stubs" element
     */
    public int sizeOfStubsArray()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().count_elements(STUBS2$42);
        }
    }
    
    /**
     * Sets array of all "stubs" element  WARNING: This method is not atomicaly synchronized.
     */
    public void setStubsArray(org.isistan.flabot.coremodelEcore.StubNode[] stubsArray)
    {
        check_orphaned();
        arraySetterHelper(stubsArray, STUBS2$42);
    }
    
    /**
     * Sets ith "stubs" element
     */
    public void setStubsArray(int i, org.isistan.flabot.coremodelEcore.StubNode stubs)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.isistan.flabot.coremodelEcore.StubNode target = null;
            target = (org.isistan.flabot.coremodelEcore.StubNode)get_store().find_element_user(STUBS2$42, i);
            if (target == null)
            {
                throw new IndexOutOfBoundsException();
            }
            target.set(stubs);
        }
    }
    
    /**
     * Inserts and returns a new empty value (as xml) as the ith "stubs" element
     */
    public org.isistan.flabot.coremodelEcore.StubNode insertNewStubs(int i)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.isistan.flabot.coremodelEcore.StubNode target = null;
            target = (org.isistan.flabot.coremodelEcore.StubNode)get_store().insert_element_user(STUBS2$42, i);
            return target;
        }
    }
    
    /**
     * Appends and returns a new empty value (as xml) as the last "stubs" element
     */
    public org.isistan.flabot.coremodelEcore.StubNode addNewStubs()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.isistan.flabot.coremodelEcore.StubNode target = null;
            target = (org.isistan.flabot.coremodelEcore.StubNode)get_store().add_element_user(STUBS2$42);
            return target;
        }
    }
    
    /**
     * Removes the ith "stubs" element
     */
    public void removeStubs(int i)
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_element(STUBS2$42, i);
        }
    }
    
    /**
     * Gets array of all "Extension" elements
     */
    public org.omg.xmi.Extension[] getExtensionArray()
    {
        synchronized (monitor())
        {
            check_orphaned();
            java.util.List targetList = new java.util.ArrayList();
            get_store().find_all_element_users(EXTENSION$22, targetList);
            org.omg.xmi.Extension[] result = new org.omg.xmi.Extension[targetList.size()];
            targetList.toArray(result);
            return result;
        }
    }
    
    /**
     * Gets ith "Extension" element
     */
    public org.omg.xmi.Extension getExtensionArray(int i)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.omg.xmi.Extension target = null;
            target = (org.omg.xmi.Extension)get_store().find_element_user(EXTENSION$22, i);
            if (target == null)
            {
                throw new IndexOutOfBoundsException();
            }
            return target;
        }
    }
    
    /**
     * Returns number of "Extension" element
     */
    public int sizeOfExtensionArray()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().count_elements(EXTENSION$22);
        }
    }
    
    /**
     * Sets array of all "Extension" element  WARNING: This method is not atomicaly synchronized.
     */
    public void setExtensionArray(org.omg.xmi.Extension[] extensionArray)
    {
        check_orphaned();
        arraySetterHelper(extensionArray, EXTENSION$22);
    }
    
    /**
     * Sets ith "Extension" element
     */
    public void setExtensionArray(int i, org.omg.xmi.Extension extension)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.omg.xmi.Extension target = null;
            target = (org.omg.xmi.Extension)get_store().find_element_user(EXTENSION$22, i);
            if (target == null)
            {
                throw new IndexOutOfBoundsException();
            }
            target.set(extension);
        }
    }
    
    /**
     * Inserts and returns a new empty value (as xml) as the ith "Extension" element
     */
    public org.omg.xmi.Extension insertNewExtension(int i)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.omg.xmi.Extension target = null;
            target = (org.omg.xmi.Extension)get_store().insert_element_user(EXTENSION$22, i);
            return target;
        }
    }
    
    /**
     * Appends and returns a new empty value (as xml) as the last "Extension" element
     */
    public org.omg.xmi.Extension addNewExtension()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.omg.xmi.Extension target = null;
            target = (org.omg.xmi.Extension)get_store().add_element_user(EXTENSION$22);
            return target;
        }
    }
    
    /**
     * Removes the ith "Extension" element
     */
    public void removeExtension(int i)
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_element(EXTENSION$22, i);
        }
    }
    
    /**
     * Gets the "id" attribute
     */
    public java.lang.String getId()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(ID$24);
            if (target == null)
            {
                return null;
            }
            return target.getStringValue();
        }
    }
    
    /**
     * Gets (as xml) the "id" attribute
     */
    public org.apache.xmlbeans.XmlID xgetId()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlID target = null;
            target = (org.apache.xmlbeans.XmlID)get_store().find_attribute_user(ID$24);
            return target;
        }
    }
    
    /**
     * True if has "id" attribute
     */
    public boolean isSetId()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().find_attribute_user(ID$24) != null;
        }
    }
    
    /**
     * Sets the "id" attribute
     */
    public void setId(java.lang.String id)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(ID$24);
            if (target == null)
            {
                target = (org.apache.xmlbeans.SimpleValue)get_store().add_attribute_user(ID$24);
            }
            target.setStringValue(id);
        }
    }
    
    /**
     * Sets (as xml) the "id" attribute
     */
    public void xsetId(org.apache.xmlbeans.XmlID id)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlID target = null;
            target = (org.apache.xmlbeans.XmlID)get_store().find_attribute_user(ID$24);
            if (target == null)
            {
                target = (org.apache.xmlbeans.XmlID)get_store().add_attribute_user(ID$24);
            }
            target.set(id);
        }
    }
    
    /**
     * Unsets the "id" attribute
     */
    public void unsetId()
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_attribute(ID$24);
        }
    }
    
    /**
     * Gets the "label" attribute
     */
    public java.lang.String getLabel()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(LABEL$26);
            if (target == null)
            {
                return null;
            }
            return target.getStringValue();
        }
    }
    
    /**
     * Gets (as xml) the "label" attribute
     */
    public org.apache.xmlbeans.XmlString xgetLabel()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlString target = null;
            target = (org.apache.xmlbeans.XmlString)get_store().find_attribute_user(LABEL$26);
            return target;
        }
    }
    
    /**
     * True if has "label" attribute
     */
    public boolean isSetLabel()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().find_attribute_user(LABEL$26) != null;
        }
    }
    
    /**
     * Sets the "label" attribute
     */
    public void setLabel(java.lang.String label)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(LABEL$26);
            if (target == null)
            {
                target = (org.apache.xmlbeans.SimpleValue)get_store().add_attribute_user(LABEL$26);
            }
            target.setStringValue(label);
        }
    }
    
    /**
     * Sets (as xml) the "label" attribute
     */
    public void xsetLabel(org.apache.xmlbeans.XmlString label)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlString target = null;
            target = (org.apache.xmlbeans.XmlString)get_store().find_attribute_user(LABEL$26);
            if (target == null)
            {
                target = (org.apache.xmlbeans.XmlString)get_store().add_attribute_user(LABEL$26);
            }
            target.set(label);
        }
    }
    
    /**
     * Unsets the "label" attribute
     */
    public void unsetLabel()
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_attribute(LABEL$26);
        }
    }
    
    /**
     * Gets the "uuid" attribute
     */
    public java.lang.String getUuid()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(UUID$28);
            if (target == null)
            {
                return null;
            }
            return target.getStringValue();
        }
    }
    
    /**
     * Gets (as xml) the "uuid" attribute
     */
    public org.apache.xmlbeans.XmlString xgetUuid()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlString target = null;
            target = (org.apache.xmlbeans.XmlString)get_store().find_attribute_user(UUID$28);
            return target;
        }
    }
    
    /**
     * True if has "uuid" attribute
     */
    public boolean isSetUuid()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().find_attribute_user(UUID$28) != null;
        }
    }
    
    /**
     * Sets the "uuid" attribute
     */
    public void setUuid(java.lang.String uuid)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(UUID$28);
            if (target == null)
            {
                target = (org.apache.xmlbeans.SimpleValue)get_store().add_attribute_user(UUID$28);
            }
            target.setStringValue(uuid);
        }
    }
    
    /**
     * Sets (as xml) the "uuid" attribute
     */
    public void xsetUuid(org.apache.xmlbeans.XmlString uuid)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlString target = null;
            target = (org.apache.xmlbeans.XmlString)get_store().find_attribute_user(UUID$28);
            if (target == null)
            {
                target = (org.apache.xmlbeans.XmlString)get_store().add_attribute_user(UUID$28);
            }
            target.set(uuid);
        }
    }
    
    /**
     * Unsets the "uuid" attribute
     */
    public void unsetUuid()
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_attribute(UUID$28);
        }
    }
    
    /**
     * Gets the "href" attribute
     */
    public java.lang.String getHref()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(HREF$30);
            if (target == null)
            {
                return null;
            }
            return target.getStringValue();
        }
    }
    
    /**
     * Gets (as xml) the "href" attribute
     */
    public org.apache.xmlbeans.XmlString xgetHref()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlString target = null;
            target = (org.apache.xmlbeans.XmlString)get_store().find_attribute_user(HREF$30);
            return target;
        }
    }
    
    /**
     * True if has "href" attribute
     */
    public boolean isSetHref()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().find_attribute_user(HREF$30) != null;
        }
    }
    
    /**
     * Sets the "href" attribute
     */
    public void setHref(java.lang.String href)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(HREF$30);
            if (target == null)
            {
                target = (org.apache.xmlbeans.SimpleValue)get_store().add_attribute_user(HREF$30);
            }
            target.setStringValue(href);
        }
    }
    
    /**
     * Sets (as xml) the "href" attribute
     */
    public void xsetHref(org.apache.xmlbeans.XmlString href)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlString target = null;
            target = (org.apache.xmlbeans.XmlString)get_store().find_attribute_user(HREF$30);
            if (target == null)
            {
                target = (org.apache.xmlbeans.XmlString)get_store().add_attribute_user(HREF$30);
            }
            target.set(href);
        }
    }
    
    /**
     * Unsets the "href" attribute
     */
    public void unsetHref()
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_attribute(HREF$30);
        }
    }
    
    /**
     * Gets the "idref" attribute
     */
    public java.lang.String getIdref()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(IDREF$32);
            if (target == null)
            {
                return null;
            }
            return target.getStringValue();
        }
    }
    
    /**
     * Gets (as xml) the "idref" attribute
     */
    public org.apache.xmlbeans.XmlIDREF xgetIdref()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlIDREF target = null;
            target = (org.apache.xmlbeans.XmlIDREF)get_store().find_attribute_user(IDREF$32);
            return target;
        }
    }
    
    /**
     * True if has "idref" attribute
     */
    public boolean isSetIdref()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().find_attribute_user(IDREF$32) != null;
        }
    }
    
    /**
     * Sets the "idref" attribute
     */
    public void setIdref(java.lang.String idref)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(IDREF$32);
            if (target == null)
            {
                target = (org.apache.xmlbeans.SimpleValue)get_store().add_attribute_user(IDREF$32);
            }
            target.setStringValue(idref);
        }
    }
    
    /**
     * Sets (as xml) the "idref" attribute
     */
    public void xsetIdref(org.apache.xmlbeans.XmlIDREF idref)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlIDREF target = null;
            target = (org.apache.xmlbeans.XmlIDREF)get_store().find_attribute_user(IDREF$32);
            if (target == null)
            {
                target = (org.apache.xmlbeans.XmlIDREF)get_store().add_attribute_user(IDREF$32);
            }
            target.set(idref);
        }
    }
    
    /**
     * Unsets the "idref" attribute
     */
    public void unsetIdref()
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_attribute(IDREF$32);
        }
    }
    
    /**
     * Gets the "version" attribute
     */
    public java.lang.String getVersion()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(VERSION$34);
            if (target == null)
            {
                target = (org.apache.xmlbeans.SimpleValue)get_default_attribute_value(VERSION$34);
            }
            if (target == null)
            {
                return null;
            }
            return target.getStringValue();
        }
    }
    
    /**
     * Gets (as xml) the "version" attribute
     */
    public org.apache.xmlbeans.XmlString xgetVersion()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlString target = null;
            target = (org.apache.xmlbeans.XmlString)get_store().find_attribute_user(VERSION$34);
            if (target == null)
            {
                target = (org.apache.xmlbeans.XmlString)get_default_attribute_value(VERSION$34);
            }
            return target;
        }
    }
    
    /**
     * True if has "version" attribute
     */
    public boolean isSetVersion()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().find_attribute_user(VERSION$34) != null;
        }
    }
    
    /**
     * Sets the "version" attribute
     */
    public void setVersion(java.lang.String version)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(VERSION$34);
            if (target == null)
            {
                target = (org.apache.xmlbeans.SimpleValue)get_store().add_attribute_user(VERSION$34);
            }
            target.setStringValue(version);
        }
    }
    
    /**
     * Sets (as xml) the "version" attribute
     */
    public void xsetVersion(org.apache.xmlbeans.XmlString version)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlString target = null;
            target = (org.apache.xmlbeans.XmlString)get_store().find_attribute_user(VERSION$34);
            if (target == null)
            {
                target = (org.apache.xmlbeans.XmlString)get_store().add_attribute_user(VERSION$34);
            }
            target.set(version);
        }
    }
    
    /**
     * Unsets the "version" attribute
     */
    public void unsetVersion()
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_attribute(VERSION$34);
        }
    }
    
    /**
     * Gets the "type" attribute
     */
    public javax.xml.namespace.QName getType()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(TYPE$36);
            if (target == null)
            {
                return null;
            }
            return target.getQNameValue();
        }
    }
    
    /**
     * Gets (as xml) the "type" attribute
     */
    public org.apache.xmlbeans.XmlQName xgetType()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlQName target = null;
            target = (org.apache.xmlbeans.XmlQName)get_store().find_attribute_user(TYPE$36);
            return target;
        }
    }
    
    /**
     * True if has "type" attribute
     */
    public boolean isSetType()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().find_attribute_user(TYPE$36) != null;
        }
    }
    
    /**
     * Sets the "type" attribute
     */
    public void setType(javax.xml.namespace.QName type)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(TYPE$36);
            if (target == null)
            {
                target = (org.apache.xmlbeans.SimpleValue)get_store().add_attribute_user(TYPE$36);
            }
            target.setQNameValue(type);
        }
    }
    
    /**
     * Sets (as xml) the "type" attribute
     */
    public void xsetType(org.apache.xmlbeans.XmlQName type)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlQName target = null;
            target = (org.apache.xmlbeans.XmlQName)get_store().find_attribute_user(TYPE$36);
            if (target == null)
            {
                target = (org.apache.xmlbeans.XmlQName)get_store().add_attribute_user(TYPE$36);
            }
            target.set(type);
        }
    }
    
    /**
     * Unsets the "type" attribute
     */
    public void unsetType()
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_attribute(TYPE$36);
        }
    }
    
    /**
     * Gets the "architecturalUseCaseMaps" attribute
     */
    public java.lang.String getArchitecturalUseCaseMaps2()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(ARCHITECTURALUSECASEMAPS2$38);
            if (target == null)
            {
                return null;
            }
            return target.getStringValue();
        }
    }
    
    /**
     * Gets (as xml) the "architecturalUseCaseMaps" attribute
     */
    public org.apache.xmlbeans.XmlString xgetArchitecturalUseCaseMaps2()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlString target = null;
            target = (org.apache.xmlbeans.XmlString)get_store().find_attribute_user(ARCHITECTURALUSECASEMAPS2$38);
            return target;
        }
    }
    
    /**
     * True if has "architecturalUseCaseMaps" attribute
     */
    public boolean isSetArchitecturalUseCaseMaps2()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().find_attribute_user(ARCHITECTURALUSECASEMAPS2$38) != null;
        }
    }
    
    /**
     * Sets the "architecturalUseCaseMaps" attribute
     */
    public void setArchitecturalUseCaseMaps2(java.lang.String architecturalUseCaseMaps2)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(ARCHITECTURALUSECASEMAPS2$38);
            if (target == null)
            {
                target = (org.apache.xmlbeans.SimpleValue)get_store().add_attribute_user(ARCHITECTURALUSECASEMAPS2$38);
            }
            target.setStringValue(architecturalUseCaseMaps2);
        }
    }
    
    /**
     * Sets (as xml) the "architecturalUseCaseMaps" attribute
     */
    public void xsetArchitecturalUseCaseMaps2(org.apache.xmlbeans.XmlString architecturalUseCaseMaps2)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlString target = null;
            target = (org.apache.xmlbeans.XmlString)get_store().find_attribute_user(ARCHITECTURALUSECASEMAPS2$38);
            if (target == null)
            {
                target = (org.apache.xmlbeans.XmlString)get_store().add_attribute_user(ARCHITECTURALUSECASEMAPS2$38);
            }
            target.set(architecturalUseCaseMaps2);
        }
    }
    
    /**
     * Unsets the "architecturalUseCaseMaps" attribute
     */
    public void unsetArchitecturalUseCaseMaps2()
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_attribute(ARCHITECTURALUSECASEMAPS2$38);
        }
    }
    
    /**
     * Gets the "functionalUseCaseMaps" attribute
     */
    public java.lang.String getFunctionalUseCaseMaps2()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(FUNCTIONALUSECASEMAPS2$40);
            if (target == null)
            {
                return null;
            }
            return target.getStringValue();
        }
    }
    
    /**
     * Gets (as xml) the "functionalUseCaseMaps" attribute
     */
    public org.apache.xmlbeans.XmlString xgetFunctionalUseCaseMaps2()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlString target = null;
            target = (org.apache.xmlbeans.XmlString)get_store().find_attribute_user(FUNCTIONALUSECASEMAPS2$40);
            return target;
        }
    }
    
    /**
     * True if has "functionalUseCaseMaps" attribute
     */
    public boolean isSetFunctionalUseCaseMaps2()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().find_attribute_user(FUNCTIONALUSECASEMAPS2$40) != null;
        }
    }
    
    /**
     * Sets the "functionalUseCaseMaps" attribute
     */
    public void setFunctionalUseCaseMaps2(java.lang.String functionalUseCaseMaps2)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(FUNCTIONALUSECASEMAPS2$40);
            if (target == null)
            {
                target = (org.apache.xmlbeans.SimpleValue)get_store().add_attribute_user(FUNCTIONALUSECASEMAPS2$40);
            }
            target.setStringValue(functionalUseCaseMaps2);
        }
    }
    
    /**
     * Sets (as xml) the "functionalUseCaseMaps" attribute
     */
    public void xsetFunctionalUseCaseMaps2(org.apache.xmlbeans.XmlString functionalUseCaseMaps2)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlString target = null;
            target = (org.apache.xmlbeans.XmlString)get_store().find_attribute_user(FUNCTIONALUSECASEMAPS2$40);
            if (target == null)
            {
                target = (org.apache.xmlbeans.XmlString)get_store().add_attribute_user(FUNCTIONALUSECASEMAPS2$40);
            }
            target.set(functionalUseCaseMaps2);
        }
    }
    
    /**
     * Unsets the "functionalUseCaseMaps" attribute
     */
    public void unsetFunctionalUseCaseMaps2()
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_attribute(FUNCTIONALUSECASEMAPS2$40);
        }
    }
    
    /**
     * Gets the "stubs" attribute
     */
    public java.lang.String getStubs2()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(STUBS2$42);
            if (target == null)
            {
                return null;
            }
            return target.getStringValue();
        }
    }
    
    /**
     * Gets (as xml) the "stubs" attribute
     */
    public org.apache.xmlbeans.XmlString xgetStubs2()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlString target = null;
            target = (org.apache.xmlbeans.XmlString)get_store().find_attribute_user(STUBS2$42);
            return target;
        }
    }
    
    /**
     * True if has "stubs" attribute
     */
    public boolean isSetStubs2()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().find_attribute_user(STUBS2$42) != null;
        }
    }
    
    /**
     * Sets the "stubs" attribute
     */
    public void setStubs2(java.lang.String stubs2)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(STUBS2$42);
            if (target == null)
            {
                target = (org.apache.xmlbeans.SimpleValue)get_store().add_attribute_user(STUBS2$42);
            }
            target.setStringValue(stubs2);
        }
    }
    
    /**
     * Sets (as xml) the "stubs" attribute
     */
    public void xsetStubs2(org.apache.xmlbeans.XmlString stubs2)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlString target = null;
            target = (org.apache.xmlbeans.XmlString)get_store().find_attribute_user(STUBS2$42);
            if (target == null)
            {
                target = (org.apache.xmlbeans.XmlString)get_store().add_attribute_user(STUBS2$42);
            }
            target.set(stubs2);
        }
    }
    
    /**
     * Unsets the "stubs" attribute
     */
    public void unsetStubs2()
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_attribute(STUBS2$42);
        }
    }
    
    /**
     * Gets the "components" attribute
     */
    public java.lang.String getComponents2()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(COMPONENTS2$44);
            if (target == null)
            {
                return null;
            }
            return target.getStringValue();
        }
    }
    
    /**
     * Gets (as xml) the "components" attribute
     */
    public org.apache.xmlbeans.XmlString xgetComponents2()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlString target = null;
            target = (org.apache.xmlbeans.XmlString)get_store().find_attribute_user(COMPONENTS2$44);
            return target;
        }
    }
    
    /**
     * True if has "components" attribute
     */
    public boolean isSetComponents2()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().find_attribute_user(COMPONENTS2$44) != null;
        }
    }
    
    /**
     * Sets the "components" attribute
     */
    public void setComponents2(java.lang.String components2)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(COMPONENTS2$44);
            if (target == null)
            {
                target = (org.apache.xmlbeans.SimpleValue)get_store().add_attribute_user(COMPONENTS2$44);
            }
            target.setStringValue(components2);
        }
    }
    
    /**
     * Sets (as xml) the "components" attribute
     */
    public void xsetComponents2(org.apache.xmlbeans.XmlString components2)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlString target = null;
            target = (org.apache.xmlbeans.XmlString)get_store().find_attribute_user(COMPONENTS2$44);
            if (target == null)
            {
                target = (org.apache.xmlbeans.XmlString)get_store().add_attribute_user(COMPONENTS2$44);
            }
            target.set(components2);
        }
    }
    
    /**
     * Unsets the "components" attribute
     */
    public void unsetComponents2()
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_attribute(COMPONENTS2$44);
        }
    }
    
    /**
     * Gets the "responsibilities" attribute
     */
    public java.lang.String getResponsibilities2()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(RESPONSIBILITIES2$46);
            if (target == null)
            {
                return null;
            }
            return target.getStringValue();
        }
    }
    
    /**
     * Gets (as xml) the "responsibilities" attribute
     */
    public org.apache.xmlbeans.XmlString xgetResponsibilities2()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlString target = null;
            target = (org.apache.xmlbeans.XmlString)get_store().find_attribute_user(RESPONSIBILITIES2$46);
            return target;
        }
    }
    
    /**
     * True if has "responsibilities" attribute
     */
    public boolean isSetResponsibilities2()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().find_attribute_user(RESPONSIBILITIES2$46) != null;
        }
    }
    
    /**
     * Sets the "responsibilities" attribute
     */
    public void setResponsibilities2(java.lang.String responsibilities2)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(RESPONSIBILITIES2$46);
            if (target == null)
            {
                target = (org.apache.xmlbeans.SimpleValue)get_store().add_attribute_user(RESPONSIBILITIES2$46);
            }
            target.setStringValue(responsibilities2);
        }
    }
    
    /**
     * Sets (as xml) the "responsibilities" attribute
     */
    public void xsetResponsibilities2(org.apache.xmlbeans.XmlString responsibilities2)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlString target = null;
            target = (org.apache.xmlbeans.XmlString)get_store().find_attribute_user(RESPONSIBILITIES2$46);
            if (target == null)
            {
                target = (org.apache.xmlbeans.XmlString)get_store().add_attribute_user(RESPONSIBILITIES2$46);
            }
            target.set(responsibilities2);
        }
    }
    
    /**
     * Unsets the "responsibilities" attribute
     */
    public void unsetResponsibilities2()
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_attribute(RESPONSIBILITIES2$46);
        }
    }
    
    /**
     * Gets the "useCaseMaps" attribute
     */
    public java.lang.String getUseCaseMaps2()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(USECASEMAPS2$48);
            if (target == null)
            {
                return null;
            }
            return target.getStringValue();
        }
    }
    
    /**
     * Gets (as xml) the "useCaseMaps" attribute
     */
    public org.apache.xmlbeans.XmlString xgetUseCaseMaps2()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlString target = null;
            target = (org.apache.xmlbeans.XmlString)get_store().find_attribute_user(USECASEMAPS2$48);
            return target;
        }
    }
    
    /**
     * True if has "useCaseMaps" attribute
     */
    public boolean isSetUseCaseMaps2()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().find_attribute_user(USECASEMAPS2$48) != null;
        }
    }
    
    /**
     * Sets the "useCaseMaps" attribute
     */
    public void setUseCaseMaps2(java.lang.String useCaseMaps2)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(USECASEMAPS2$48);
            if (target == null)
            {
                target = (org.apache.xmlbeans.SimpleValue)get_store().add_attribute_user(USECASEMAPS2$48);
            }
            target.setStringValue(useCaseMaps2);
        }
    }
    
    /**
     * Sets (as xml) the "useCaseMaps" attribute
     */
    public void xsetUseCaseMaps2(org.apache.xmlbeans.XmlString useCaseMaps2)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlString target = null;
            target = (org.apache.xmlbeans.XmlString)get_store().find_attribute_user(USECASEMAPS2$48);
            if (target == null)
            {
                target = (org.apache.xmlbeans.XmlString)get_store().add_attribute_user(USECASEMAPS2$48);
            }
            target.set(useCaseMaps2);
        }
    }
    
    /**
     * Unsets the "useCaseMaps" attribute
     */
    public void unsetUseCaseMaps2()
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_attribute(USECASEMAPS2$48);
        }
    }
    
    /**
     * Gets the "interfaceLinks" attribute
     */
    public java.lang.String getInterfaceLinks2()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(INTERFACELINKS2$50);
            if (target == null)
            {
                return null;
            }
            return target.getStringValue();
        }
    }
    
    /**
     * Gets (as xml) the "interfaceLinks" attribute
     */
    public org.apache.xmlbeans.XmlString xgetInterfaceLinks2()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlString target = null;
            target = (org.apache.xmlbeans.XmlString)get_store().find_attribute_user(INTERFACELINKS2$50);
            return target;
        }
    }
    
    /**
     * True if has "interfaceLinks" attribute
     */
    public boolean isSetInterfaceLinks2()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().find_attribute_user(INTERFACELINKS2$50) != null;
        }
    }
    
    /**
     * Sets the "interfaceLinks" attribute
     */
    public void setInterfaceLinks2(java.lang.String interfaceLinks2)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(INTERFACELINKS2$50);
            if (target == null)
            {
                target = (org.apache.xmlbeans.SimpleValue)get_store().add_attribute_user(INTERFACELINKS2$50);
            }
            target.setStringValue(interfaceLinks2);
        }
    }
    
    /**
     * Sets (as xml) the "interfaceLinks" attribute
     */
    public void xsetInterfaceLinks2(org.apache.xmlbeans.XmlString interfaceLinks2)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlString target = null;
            target = (org.apache.xmlbeans.XmlString)get_store().find_attribute_user(INTERFACELINKS2$50);
            if (target == null)
            {
                target = (org.apache.xmlbeans.XmlString)get_store().add_attribute_user(INTERFACELINKS2$50);
            }
            target.set(interfaceLinks2);
        }
    }
    
    /**
     * Unsets the "interfaceLinks" attribute
     */
    public void unsetInterfaceLinks2()
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_attribute(INTERFACELINKS2$50);
        }
    }
    
    /**
     * Gets the "relationships" attribute
     */
    public java.lang.String getRelationships2()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(RELATIONSHIPS2$52);
            if (target == null)
            {
                return null;
            }
            return target.getStringValue();
        }
    }
    
    /**
     * Gets (as xml) the "relationships" attribute
     */
    public org.apache.xmlbeans.XmlString xgetRelationships2()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlString target = null;
            target = (org.apache.xmlbeans.XmlString)get_store().find_attribute_user(RELATIONSHIPS2$52);
            return target;
        }
    }
    
    /**
     * True if has "relationships" attribute
     */
    public boolean isSetRelationships2()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().find_attribute_user(RELATIONSHIPS2$52) != null;
        }
    }
    
    /**
     * Sets the "relationships" attribute
     */
    public void setRelationships2(java.lang.String relationships2)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(RELATIONSHIPS2$52);
            if (target == null)
            {
                target = (org.apache.xmlbeans.SimpleValue)get_store().add_attribute_user(RELATIONSHIPS2$52);
            }
            target.setStringValue(relationships2);
        }
    }
    
    /**
     * Sets (as xml) the "relationships" attribute
     */
    public void xsetRelationships2(org.apache.xmlbeans.XmlString relationships2)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlString target = null;
            target = (org.apache.xmlbeans.XmlString)get_store().find_attribute_user(RELATIONSHIPS2$52);
            if (target == null)
            {
                target = (org.apache.xmlbeans.XmlString)get_store().add_attribute_user(RELATIONSHIPS2$52);
            }
            target.set(relationships2);
        }
    }
    
    /**
     * Unsets the "relationships" attribute
     */
    public void unsetRelationships2()
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_attribute(RELATIONSHIPS2$52);
        }
    }
    
    /**
     * Gets the "stereotypes" attribute
     */
    public java.lang.String getStereotypes2()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(STEREOTYPES2$54);
            if (target == null)
            {
                return null;
            }
            return target.getStringValue();
        }
    }
    
    /**
     * Gets (as xml) the "stereotypes" attribute
     */
    public org.apache.xmlbeans.XmlString xgetStereotypes2()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlString target = null;
            target = (org.apache.xmlbeans.XmlString)get_store().find_attribute_user(STEREOTYPES2$54);
            return target;
        }
    }
    
    /**
     * True if has "stereotypes" attribute
     */
    public boolean isSetStereotypes2()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().find_attribute_user(STEREOTYPES2$54) != null;
        }
    }
    
    /**
     * Sets the "stereotypes" attribute
     */
    public void setStereotypes2(java.lang.String stereotypes2)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(STEREOTYPES2$54);
            if (target == null)
            {
                target = (org.apache.xmlbeans.SimpleValue)get_store().add_attribute_user(STEREOTYPES2$54);
            }
            target.setStringValue(stereotypes2);
        }
    }
    
    /**
     * Sets (as xml) the "stereotypes" attribute
     */
    public void xsetStereotypes2(org.apache.xmlbeans.XmlString stereotypes2)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlString target = null;
            target = (org.apache.xmlbeans.XmlString)get_store().find_attribute_user(STEREOTYPES2$54);
            if (target == null)
            {
                target = (org.apache.xmlbeans.XmlString)get_store().add_attribute_user(STEREOTYPES2$54);
            }
            target.set(stereotypes2);
        }
    }
    
    /**
     * Unsets the "stereotypes" attribute
     */
    public void unsetStereotypes2()
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_attribute(STEREOTYPES2$54);
        }
    }
    
    /**
     * Gets the "families" attribute
     */
    public java.lang.String getFamilies2()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(FAMILIES2$56);
            if (target == null)
            {
                return null;
            }
            return target.getStringValue();
        }
    }
    
    /**
     * Gets (as xml) the "families" attribute
     */
    public org.apache.xmlbeans.XmlString xgetFamilies2()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlString target = null;
            target = (org.apache.xmlbeans.XmlString)get_store().find_attribute_user(FAMILIES2$56);
            return target;
        }
    }
    
    /**
     * True if has "families" attribute
     */
    public boolean isSetFamilies2()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().find_attribute_user(FAMILIES2$56) != null;
        }
    }
    
    /**
     * Sets the "families" attribute
     */
    public void setFamilies2(java.lang.String families2)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(FAMILIES2$56);
            if (target == null)
            {
                target = (org.apache.xmlbeans.SimpleValue)get_store().add_attribute_user(FAMILIES2$56);
            }
            target.setStringValue(families2);
        }
    }
    
    /**
     * Sets (as xml) the "families" attribute
     */
    public void xsetFamilies2(org.apache.xmlbeans.XmlString families2)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlString target = null;
            target = (org.apache.xmlbeans.XmlString)get_store().find_attribute_user(FAMILIES2$56);
            if (target == null)
            {
                target = (org.apache.xmlbeans.XmlString)get_store().add_attribute_user(FAMILIES2$56);
            }
            target.set(families2);
        }
    }
    
    /**
     * Unsets the "families" attribute
     */
    public void unsetFamilies2()
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_attribute(FAMILIES2$56);
        }
    }
    
    /**
     * Gets the "events" attribute
     */
    public java.lang.String getEvents2()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(EVENTS2$58);
            if (target == null)
            {
                return null;
            }
            return target.getStringValue();
        }
    }
    
    /**
     * Gets (as xml) the "events" attribute
     */
    public org.apache.xmlbeans.XmlString xgetEvents2()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlString target = null;
            target = (org.apache.xmlbeans.XmlString)get_store().find_attribute_user(EVENTS2$58);
            return target;
        }
    }
    
    /**
     * True if has "events" attribute
     */
    public boolean isSetEvents2()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().find_attribute_user(EVENTS2$58) != null;
        }
    }
    
    /**
     * Sets the "events" attribute
     */
    public void setEvents2(java.lang.String events2)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(EVENTS2$58);
            if (target == null)
            {
                target = (org.apache.xmlbeans.SimpleValue)get_store().add_attribute_user(EVENTS2$58);
            }
            target.setStringValue(events2);
        }
    }
    
    /**
     * Sets (as xml) the "events" attribute
     */
    public void xsetEvents2(org.apache.xmlbeans.XmlString events2)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlString target = null;
            target = (org.apache.xmlbeans.XmlString)get_store().find_attribute_user(EVENTS2$58);
            if (target == null)
            {
                target = (org.apache.xmlbeans.XmlString)get_store().add_attribute_user(EVENTS2$58);
            }
            target.set(events2);
        }
    }
    
    /**
     * Unsets the "events" attribute
     */
    public void unsetEvents2()
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_attribute(EVENTS2$58);
        }
    }
    
    /**
     * Gets the "file" attribute
     */
    public java.lang.String getFile()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(FILE$60);
            if (target == null)
            {
                return null;
            }
            return target.getStringValue();
        }
    }
    
    /**
     * Gets (as xml) the "file" attribute
     */
    public org.apache.xmlbeans.XmlString xgetFile()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlString target = null;
            target = (org.apache.xmlbeans.XmlString)get_store().find_attribute_user(FILE$60);
            return target;
        }
    }
    
    /**
     * True if has "file" attribute
     */
    public boolean isSetFile()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().find_attribute_user(FILE$60) != null;
        }
    }
    
    /**
     * Sets the "file" attribute
     */
    public void setFile(java.lang.String file)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(FILE$60);
            if (target == null)
            {
                target = (org.apache.xmlbeans.SimpleValue)get_store().add_attribute_user(FILE$60);
            }
            target.setStringValue(file);
        }
    }
    
    /**
     * Sets (as xml) the "file" attribute
     */
    public void xsetFile(org.apache.xmlbeans.XmlString file)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlString target = null;
            target = (org.apache.xmlbeans.XmlString)get_store().find_attribute_user(FILE$60);
            if (target == null)
            {
                target = (org.apache.xmlbeans.XmlString)get_store().add_attribute_user(FILE$60);
            }
            target.set(file);
        }
    }
    
    /**
     * Unsets the "file" attribute
     */
    public void unsetFile()
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_attribute(FILE$60);
        }
    }
}
